1. Field
This application relates to communication networks and, more particularly, to a method and apparatus for determining the location of a wireless client device on a wireless network.
2. Description of the Related Art
Data communication networks may include various network elements, such as routers and switches, configured to facilitate the flow of data through the network. Networks may also include other network elements, such as computers and printers, configured to receive and transmit data over the network.
Network elements may have different levels of intelligence, depending on the particular manner in which the network element is intended to operate on the network. For example, a network element may be relatively intelligent and configured to execute software to enable particular applications to be run on the network element, so that the network element can provide services on the network. Alternatively, the network element may be provided with less intelligence and configured to perform a particular service on the network. An example of a less intelligent network element may be a printer connected to the network and configured to provide print services on the network. Optionally, different network elements may work together to collectively provide services on the network.
In a wireless network, it may be necessary or desirable to determine the location of active wireless client devices to enable services to be provided to those clients. For example, the network operator may want to know where active devices are located so that the wireless client is able to have access to nearby printing and other localized services. Likewise, the network operator may want to monitor the wireless clients to prevent rogue devices from accessing the network or to prevent people from being in particular areas of the building.
The location of a wireless client may be determined by causing the wireless client devices to measure the power they receive from several access points that they can see and transmit the power measurements back up into the network. Since all WLAN access points regularly broadcast synchronization and identification data, there is generally plenty of signal for the wireless client to measure, which provides for a relatively fast location determination. One of the benefits of this method is that it does not require significant additional data to be transmitted on the network—the measurement is performed by looking at data that is already commonly transmitted on the network. A disadvantage of this method, however, is that the client is required to run a non-standardized application, which can use up memory and power on the client device. Additionally, a new client or driver may need to be written for each type of client device, which may make it difficult to implement. Moreover, if the client device does not have the requisite application or if the application has been disabled, the network is not able to track the client device.
Another way to determine a location of a wireless client is to measure the signal strength and or transmitted wave angle from the clients either at the access points or using dedicated signal measurement receivers or arrays of receivers. In general, the greater the amount of information that the wireless client transmits, the faster the network is able to determine the location of the wireless client device. While this works well when the client is transmitting, a client that is not currently transmitting will not be seen by the network. Since clients are only required to transmit occasional messages to maintain an association with an access point, this method may have very little information on which it may make a location determination. Thus, this method may make it difficult to find particular client devices that are not actively transmitting on the network.
One way of increasing the amount of information transmitted by the wireless client is to periodically PING (Packet InterNetwork Groper) the wireless clients on the network. PING is implemented in virtually all IP capable devices, so no new software needs to be written to enable PING to be used to locate wireless client devices. PING is described in some detail in IETF RFC 1739, and basically uses a series of Internet Control Message Protocol (ICMP) echo messages that are transmitted by both the wireless client and the access points. Since a wireless client will respond to a PING, and hence transmit data on the network when PINGed, PING may be used to increase the transmission rate of a wireless client so that its location may be determined.
Conventionally networks have been configured to PING wireless clients at set intervals so that the location of those clients may be determined on the network. Unfortunately, the use of PING in this manner may use considerable network bandwidth, and hence may affect the overall data performance of the network. Since PING requires the wireless client device to respond by transmitting a response, the use of PING may affect the battery life of the wireless client device. Accordingly, it would be advantageous to improve the manner in which the location of a wireless client device may be determined on a wireless network.